package com.hyz.service.assetManager;

import com.hyz.pojo.assetManager.AssetInboundRequest;
import com.hyz.pojo.assetManager.AssetInboundStatusResponse;
import pojo.ResponseResult;
import pojo.asset.Asset;
import pojo.reposiroty.Repository;

import java.util.List;

/**
 * @author HGD
 * @date 2022/9/29 23:00
 */
public interface AssetManagerService {
    // TODO: 创建批量上传

    //----------------------------资产分库-----------------------------

    /**
     * 获取所有未返库的资产
     *
     * @return 未返库的资产
     */
    public ResponseResult<List<Asset>> getAllUnassignedAssets();

    /**
     * 查看所有的仓库信息
     *
     * @return 仓库信息
     */
    ResponseResult<List<Repository>> getAllRepositories();

    /**
     * 创建资产分库
     *
     * @param request 资产分库信息
     * @return 是否分库成功
     */
    ResponseResult<String> createAssetInbound(AssetInboundRequest request);

    /**
     * 根据资产管理员id获取所有资产分库状态
     *
     * @return 资产分库状态
     */
    List<AssetInboundStatusResponse> getAssetInboundStatus();
    //----------------------------借用申请-----------------------------

    // TODO: 查看借用申请

    // TODO: 审批借用申请

    //----------------------------调用申请----------------------------

    // TODO: 查看调用申请

    // TODO: 审批调用申请

    //----------------------------资产归还------------------------------

    // TODO: 查看资产归还申请

    // TODO: 审批资产归还申请

    //------------------------资产维修/维保管理--------------------------

    // TODO: 查看维修申请

    // TODO: 查看资产相关信息

    // TODO: 创建资产维修申请

    // TODO: 查看资产维修申请

    //-----------------------------资产报废----------------------------

    // TODO: 查看资产报废申请

    // TODO: 审批资产报废申请

    //-----------------------------资产盘点-----------------------------

    // TODO: 资产盘点
}
